package Modelo.Entidades;

/*
 *  Proyecto eJAM [G12]
 *  Miembros:
 *      - Javier Ruiz Hidalgo
 *      - Adrian Ramos Cápitas
 *      - Miguel Alejandro Esteban Ordóñez
 */

public class UsuarioImpl implements Usuario {

    private String nombre, apellido1, apellido2, DNI, telefono, correo, pass;
    private final int longitud = 6;

    public UsuarioImpl(String DNI) {
        this.DNI = DNI;
    }

    public UsuarioImpl(String nombre, String apellido1, String apellido2, String DNI, String telefono, String correo) {
        this.nombre = nombre;
        this.apellido1 = apellido1;
        this.apellido2 = apellido2;
        this.DNI = DNI;
        this.telefono = telefono;
        this.correo = correo;
    }

    public UsuarioImpl(String nombre, String apellido1, String apellido2, String DNI, String telefono, String correo, String pass) {
        this.nombre = nombre;
        this.apellido1 = apellido1;
        this.apellido2 = apellido2;
        this.DNI = DNI;
        this.telefono = telefono;
        this.correo = correo;
        this.pass = pass;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getApellido1() {
        return apellido1;
    }

    public void setApellido1(String apellido1) {
        this.apellido1 = apellido1;
    }

    public String getApellido2() {
        return apellido2;
    }

    public void setApellido2(String apellido2) {
        this.apellido2 = apellido2;
    }

    public String getDNI() {
        return DNI;
    }

    public void setDNI(String DNI) {
        this.DNI = DNI;
    }

    public String getTelefono() {
        return telefono;
    }

    public void setTelefono(String telefono) {
        this.telefono = telefono;
    }

    public String getCorreo() {
        return correo;
    }

    public void setCorreo(String correo) {
        this.correo = correo;
    }

    public String getPass() {
        return pass;
    }

    public void setPass(String pass) {
        this.pass = pass;
    }

    public void generaContraseña() {
        String caracteres = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
        String aux = "";

        for (int i = 0; i < longitud; i++) {
                aux += (caracteres.charAt((int)(Math.random() * caracteres.length())));
        }

        this.setPass(aux);
    }

    public String toString() {
        return "[" + getDNI() + "] " + getNombre() + " " + getApellido1() + " " + getApellido2() + "\n\t, Tlf: " + getTelefono() + "\t, Correo Electronico: " + getCorreo();
    }

    public String toStringReducido() {
        String s = "";

        if(this.getNombre().equals("admin") && this.getApellido1().equals("admin")){
            s = "[" + getDNI() + "] " + getApellido1().toUpperCase();
        }
        else{
            s = "[" + getDNI() + "] " + getApellido1() + " " + getApellido2() + ", "+ getNombre();
        }

        return s;
    }
}
